home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Extra 1996 #2 / Amiga Plus CD - 1996 - No. 2 Extra.iso / clarissa1_1-demo / macros / farbblitz.clssa < prev    next >
Text File  |  1995-01-26  |  3KB  |  90 lines

  1. /***********************************************************************
  2.   GADGET: "'Farb Blitz'" "6" AUTO TYP: "?"
  3.  
  4.   $DAT >>FarbBlitz.clssa<<    02.10.1992 - (C) ProDAD Holger Burkarth
  5.                               20.01.1995 - (C) ProDAD Michael Christoph
  6. ************************************************************************/
  7.  
  8. Options Results
  9. Address clariSSA
  10.  
  11.   FailAt 10
  12.   AltFail=RESULT
  13.  
  14.   GetArea
  15.   PARSE VAR RESULT . "FROM" von "TO" bis .
  16.   von=Strip(von)
  17.  
  18.   Anzahl=bis-von
  19.   IF Anzahl>3 THEN DO
  20.  
  21.     DO FOREVER
  22.       GetAnimInfo
  23.       PARSE VAR RESULT . "FORMAT" x y t "VIEWMODE" ViewMode .
  24.       AnzFarben=2**t - 1
  25.  
  26.       COLRequest "Register 0 TITLE '*** Farb - Blitz ***''''Wählen Sie die Blitzfarbe aus.''Hierbei ist nur das Register''von Bedeutung.'"
  27.       IF RC~=0 THEN LEAVE
  28.       BlitzFarbe=RESULT
  29.  
  30.       MSRequester "TITLE '*** Farb - Blitz ***'",
  31.                         "''",
  32.                         "'Bezugsfarbe zur Blitzerzeugung wählen'",
  33.                         "'bzw. Blitzart wählen.'",
  34.                   "PTEXT 'Bezugsfarbe frei wählen + Dreieckblitz'",
  35.                         "'Bezugsfarbe frei wählen + anschwellend'",
  36.                         "'Bezugsfarbe frei wählen + abfallend'",
  37.                         "'Bezugsfarbe weiß + Dreieckblitz'",
  38.                         "'Bezugsfarbe weiß + anschwellend'",
  39.                         "'Bezugsfarbe weiß + abfallend'"
  40.       IF RC~=0 THEN LEAVE
  41.       IF RESULT >3 THEN DO
  42.         BlitzArt=RESULT-3
  43.         BezR=255
  44.         BezG=255
  45.         BezB=255
  46.       END
  47.       ELSE DO
  48.         BlitzArt=RESULT
  49.         COLRequest "Register 0 TITLE '*** Farb - Blitz ***''''Wählen Sie die Bezugafarbe aus.''Hierbei sind nur die Farbwerte ''von Bedeutung.'"
  50.         IF RC~=0 THEN LEAVE
  51.         BezFarbe=RESULT
  52.  
  53.         GetColor BezFarbe
  54.         PARSE VAR RESULT x BezR BezG BezB
  55.       END
  56.  
  57.       BOOLRequest "'Animationsfarben ändern?''Anim: Master''<< von "von" bis "bis" >>'"
  58.       IF RC~=0 | RESULT="NO" THEN LEAVE
  59.  
  60.       RequestStatus OFF
  61.       IF BlitzArt=1 THEN Anzahl=Anzahl/2
  62.       DO UNTIL von>bis
  63.  
  64.         fa=(bis-von)/Anzahl
  65.         IF BlitzArt=1 THEN IF fa > 1 THEN fa=1-fa
  66.         IF BlitzArt=2 THEN fa=1-fa
  67.  
  68.         ViewFrame COPS von
  69.         IF RC~=0 THEN LEAVE
  70.         GetColor BlitzFarbe
  71.         PARSE VAR RESULT x r g b
  72.         r=r+(BezR-r)*fa
  73.         g=g+(BezG-g)*fa
  74.         b=b+(BezB-b)*fa
  75.         SetColor BlitzFarbe TRUNC(r) TRUNC(g) TRUNC(b)
  76.  
  77.         Record COPS
  78.         IF RC~=0 THEN LEAVE
  79.          von=von+1
  80.       END
  81.       RequestStatus ON
  82.  
  83.       LEAVE
  84.     END
  85.   END
  86.   ELSE Message "'Für einen Blitz-Effekt müssen''min. 4 Frames ausgewählt werden.'"
  87.  
  88.   FailAt AltFail
  89. exit
  90.